package com.itheima.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.pojo.ClazzInfo;
import com.itheima.pojo.PageResult;
import com.itheima.pojo.Student;
import com.itheima.pojo.StudentQueryParam;

import java.util.List;
import java.util.Map;

public interface StudentService extends IService<Student> {

    /**
     *  条件分页查询学员
     * @param student 学员对象
     * @return 分页查询结果
     */
    PageResult<Student> getStudentByPage(StudentQueryParam student);

    /**
     * 新增学员
     * @param student 学员对象
     */
    void saveStu(Student student);

    /**
     *  修改学员
     * @param student 学员对象
     */
    void updateStu(Student student);

    /**
     *  违纪扣分
     * @param id 学员id
     * @param score 扣分的分值
     */
    void updateViolById(Integer id, Short score);

    /**
     * 统计班级人数
     * @return 查询结果对象
     */
    ClazzInfo getClazzInfo();

    /**
     *  统计各个学历的人数
     * @return 各个学历的人数集合
     */
    List<Map<String, Object>> getDegreeInfo();
}
